Method and apparatus for controlling data transmission between client side and server side

ABSTRACT

A method for controlling data transmission between a client device and a server is provided. The method includes the following steps: generating control information according to a data access rate of the client device and a data report rate of the server; and referring to the control information to manage at least one of a data access operation of the client device and a data reporting operation of the server.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. provisional application No. 62/096,739, filed on Dec. 24, 2014, the contents of which are incorporated herein by reference.

BACKGROUND

The disclosed embodiments of the present invention relate to data transmission control, and more particularly, to a method for controlling data transmission between a client device and a server by coordinating a data access rate of the client device and a data report rate of the server, and related apparatuses.

Portable electronic apparatuses are allowed to connect to each other and exchange data. For example, a fitness application running on a mobile phone can show health data gathered from a smart watch, wherein the smart watch is regarded as a server or a provider (which provides data), and the mobile phone is regarded as a client device or a consumer (which receives/accesses data). In this example, the smart watch can transmit respective detection results of a heart rate sensor, a gyroscope and a step counter so as to monitor sleep quality and exercise-intensity of a user.

Due to limited storage capacity, a sensor has to report sensor data back to a mobile phone periodically in order to avoid buffer overflow and data loss. However, as sensors have different data report rates and a mobile phone accesses data at a predetermined data access rate, a data access rate (or polling rate) of a consumer is inconsistent with a data report rate (or reporting rate) of a provider, resulting in unnecessary data access/report operations and energy losses in the consumer/provider.

Thus, there is a need for a novel data transmission control mechanism to manage data access rate(s) and data report rate(s).

SUMMARY

In accordance with exemplary embodiments of the present invention, a method for controlling data transmission between a client device and a server by coordinating a data access rate of the client device and a data report rate of the server and related apparatuses are proposed to solve the above-mentioned problems.

According to an embodiment of the present invention, an exemplary method for controlling data transmission between a client device and a server is disclosed. The exemplary method comprises the following steps: generating control information according to a data access rate of the client device and a data report rate of the server; and referring to the control information to manage at least one of a data access operation of the client device and a data reporting operation of the server.

According to another embodiment of the present invention, an exemplary apparatus for controlling data transmission is disclosed. The exemplary apparatus comprises a transmission circuit and a controller. The transmission circuit is arranged for receiving data transmitted by a server, and providing the data received from the server for a client device. The controller is coupled to the transmission circuit, and is arranged for generating control information according to a data access rate of the client device and a data report rate of the server, and referring to the control information to manage at least one of a data access operation of the client device and a data reporting operation of the server.

According to another embodiment of the present invention, an exemplary apparatus for controlling data transmission is disclosed. The exemplary apparatus comprises a transmission circuit and a controller. The transmission circuit is arranged for performing a data access operation to access data transmitted by a server at a data access rate. The controller is coupled to the transmission circuit, and is arranged for generating control information according to the data access rate and a data report rate of the server, and referring to the control information to manage at least one of the data access operation and a data reporting operation of the server.

According to another embodiment of the present invention, an exemplary apparatus for controlling data transmission is disclosed. The exemplary apparatus comprises a transmission circuit and a controller. The transmission circuit is arranged for performing a data reporting operation to transmit data to a client device at a data report rate. The controller is coupled to the transmission circuit, and is arranged for generating control information according to a data access rate of the client device and the data report rate, and referring to the control information to manage at least one of the data reporting operation and a data access operation of the client device.

The proposed method and apparatus for controlling data transmission between a client side and a server side can coordinate/manage a data access rate and a data report rate of a data transmission path, thereby simplifying a control scheme, extending a network lifetime, improving transmission efficiency, reducing power losses and providing a good user-experience.

These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an exemplary data transmission architecture according to an embodiment of the present invention.

FIG. 2 is a flow chart illustrating an exemplary method for controlling data transmission between a client device and a server according to an embodiment of the present invention.

FIG. 3 illustrates an implementation of the apparatus used for controlling data transmission shown in FIG. 1.

FIG. 4 is a diagram illustrating an exemplary data transmission architecture according to another embodiment of the present invention.

FIG. 5 illustrates an exemplary data transmission architecture according to another embodiment of the present invention.

FIG. 6 is a diagram illustrating an exemplary apparatus for controlling data transmission between a client device and a server according to an embodiment of the present invention.

FIG. 7 is a diagram illustrating an exemplary data transmission architecture according to another embodiment of the present invention.

FIG. 8 is a diagram illustrating an exemplary data transmission architecture according to another embodiment of the present invention.

FIG. 9 is a diagram illustrating an exemplary data transmission architecture according to another embodiment of the present invention.

DETAILED DESCRIPTION

Certain terms are used throughout the description and following claims to refer to particular components. As one skilled in the art will appreciate, manufacturers may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following description and in the claims, the terms “include” and “comprise” are used in an open-ended fashion, and thus should be interpreted to mean “include, but not limited to . . . ”. Also, the term “coupled” is intended to mean either an indirect or direct electrical connection. Accordingly, if one device is electrically connected to another device, that connection may be through a direct electrical connection, or through an indirect electrical connection via other devices and connections.

In order to improve efficiency of data transmission between a server and a client device, the proposed data transmission control mechanism may centrally manage data access of each client device (consumer) and/or data report of each server to effectively coordinate data access rate(s) and/or data report rate(s). Further description is provided below.

FIG. 1 illustrates an exemplary data transmission architecture according to an embodiment of the present invention. In this embodiment, an intermediate apparatus (implemented, for example, by a mobile phone 100 in this embodiment) is disposed between a client device (implemented, for example, by a mobile phone 110 in this embodiment) and a plurality of servers (respectively implemented, for example, by a smart watch 120, a smart band 130 and an intelligent shoe 140 in this embodiment), wherein the intermediate apparatus (the mobile phone 100) may control data transmission between the client device and the servers. The client device may access data of each server through the intermediate apparatus, and data provided by each server may be transmitted to the client device through the intermediate apparatus. In other words, the intermediate apparatus may be regarded as a router, and is arranged for controlling/managing data transmission between the client device and each server.

By way of example but not limitation, the mobile phone 110 may register data access information thereof, such as a type of data to be accessed, a data access rate, a data access requirement and/or other related settings, with the mobile phone 100, wherein the data access rate may represent how many access requests a client device (e.g. the mobile phone 110) sends over a predetermined period of time (e.g. 1 second) or any other information related to the data access rate. The smart watch 120/the smart band 130/the intelligent shoe 140 may register data report information thereof, such as a type of data to be provided, a data report rate or other related settings, with the mobile phone 100, wherein the data report rate may represent how many times a server (e.g. the smart watch 120) reports data over a predetermined period of time (e.g. 1 second) or any other information related to the data report rate. The mobile phone 100 may refer to the data access information and the data report information to manage a data access operation of client device and/or a data reporting operation of a server (e.g. adjusting the data access rate and/or the data report rate, or storing report data of the smart watch 120/the smart band 130/the intelligent shoe 140 for the mobile phone 100 to access).

By utilizing the proposed data transmission architecture, the client device located within respective connection ranges of the servers (the mobile phone 110) may send an access request to the intermediate apparatus rather than directly requests each server to provide data, and data reported by each server may be managed by the intermediate apparatus, thus reducing power losses caused by inconsistence between a data access rate and a data report rate corresponding to a transmission path. In addition, the proposed data transmission architecture may improve transmission efficiency, simplify a control scheme, extending a network lifetime and providing a good user-experience.

It should be noted that the aforementioned intermediate apparatus/client device/server may be implemented by an apparatus capable of transmitting and receiving data. For example, the aforementioned intermediate apparatus/client device/server may be implemented by a mobile phone, a smart watch, a smart TV, an wireless access point (AP), an internet of things (IoT) device, a wearable device (e.g. a smart band, intelligent shoes or an intelligent ring) or any other type of apparatus capable of transmitting and receiving data. Additionally, any two of an intermediate, a client device and a server may be connected by various connectivity technologies including a wired connection (e.g. a wired network or any other type of wired connection) or a wireless connection (e.g. a wireless network or any other type of wireless connection).

Please refer to FIG. 2 in conjunction with FIG. 1. FIG. 2 is a flow chart illustrating an exemplary method for controlling data transmission between a client device and a server according to an embodiment of the present invention. Provided that the result is substantially the same, the steps are not required to be executed in the exact order shown in FIG. 2. For example, other step(s) may be intermediate, and the step(s) shown in FIG. 2 may be omitted. Additionally, the method shown in FIG. 2 is described with reference to the data transmission architecture shown in FIG. 1. One skilled in the art should understand that this is not meant to be a limitation of the present invention. The method shown in FIG. 2 may be summarized as below.

Step 210: Start.

Step 220: Utilize the mobile phone 100 to scan a surrounding environment thereof to determine if any client device (consumer) or server (provider) exists. If yes, go to step 230; otherwise, continue scanning the surrounding environment of the mobile phone 100.

Step 230: Register configurations of detected device(s) (client device(s) and/or server(s)) with the mobile phone 100. For example, the mobile phone 110 may register the data access information thereof with the mobile phone 100, and the smart watch 120/the smart band 130/the intelligent shoe 140 may register the data report information thereof with the mobile phone 100.

Step 240: Regarding each transmission path, generate control information according to a corresponding data access rate and a corresponding data report rate. For example, regarding a transmission corresponding to the mobile phone 110 and the smart watch 120, the mobile phone 100 may generate control information INF1 according to a data access rate AR1 and a data report rate RR1, wherein the data access rate AR1 may be indicated by or included in the data access information of the mobile phone 110, and the data report rate RR1 may be indicated by or included in the data report information of the smart watch 120.

Step 250: Utilize the mobile phone 100 for referring to the generated control information to manage at least one of a data access operation of a client device and a data reporting operation of a corresponding server (e.g. determining whether to adjust at least one of the data access rate and the data report rate). By way of example but not limitation, when the control information INF1 indicates that the data access rate AR1 is less than the data report rate RR1, the mobile phone 100 may manage a data reporting operation of the smart watch 120 by requesting the smart watch 120 reduce (or control the smart watch 120 to reduce) the data report rate RR1 such that the data report rate RR1 and the data access rate AR1 may be consistent with each other, thus reducing power losses.

In step 220, when a device is detected (unregistered with the mobile phone 100), the mobile phone 100 may add the newly detected device to a registration list directly, or based on an authentication mechanism (with or without encryption), to thereby register configurations of the newly detected device with the mobile phone 100 (step 230).

In step 250, when the control information indicates that the data access rate and the data report rate are inconsistent with each other (e.g. different), the mobile phone 100 may adjust the at least one of the data access rate and the data report rate according to the control information, to thereby coordinate data transmission between a corresponding client device and a corresponding server. For example, the mobile phone 100 may compare the data access rate AR1 with the data report rate RR1 to generate the control information INF1, wherein when the control information INF1 indicates that the data access rate AR1 is different from the data report rate RR1, the mobile phone 100 may adjust one of the data access rate AR1 and the data report rate RR1 (e.g. a higher one or a lower one) to the other of the data access rate AR1 and the data report rate RR1 (e.g. the lower one or the higher one) according to the control information INF1. In another example, when the control information INF1 indicates that the data access rate AR1 is different from the data report rate RR1, the mobile phone 100 may adjust each of the data access rate AR1 and the data report rate RR1 to a predetermined rate (e.g. a rate less than each of the data access rate AR1 and the data report rate RR1, or a rate greater than each of the data access rate AR1 and the data report rate RR1, a rate less than one of the data access rate AR1 and the data report rate RR1, or a rate greater than one of the data access rate AR1 and the data report rate RR1) according to the control information INF1. It should be noted that, as the control information INF1 may be updated dynamically due to the change/adjustment of the data access rate AR1 and/or the data report rate RR1, the aforementioned predetermined rate may vary dynamically according to the control information INF1.

Additionally, in step 250, when the control information indicates that the data access rate and the data report rate are inconsistent with each other (e.g. different), the mobile phone 100 may directly coordinate the data transmission between the client device and the server without adjusting the data access rate and the data report rate. By way of example but not limitation, when the control information INF1 indicates that the data access rate AR1 is greater than the data report rate RR1, the mobile phone 100 may store the data transmitted by the smart watch 120, and provide the stored data for the mobile phone 110 in response to the data access rate AR1. In other word, the mobile phone 110 may still poll the mobile phone 100 at the data access rate AR1, and the mobile phone 100 may provide the stored data for the mobile phone 110 at the data access rate AR1. Hence, the mobile phone 110 may receive the report data of the smart watch 120 consecutively.

In another example, the control information INF1 indicates that the data report rate RR1 is greater than the data access rate AR1 (step 250), the mobile phone 100 may process a plurality of report data elements to generate a buffered data element (e.g. calculating an average of the report data elements), and transmit the buffered data element to the mobile phone 110 at the data access rate AR1. Hence, data loss may be avoided.

Please note that the above is for illustrative purposed only, and is not meant to be a limitation of the present invention. In an alternative design, the intermediate apparatus may store configurations of client device(s) and/or server(s) in advance. For example, the mobile phone 100 may store the data access information of the mobile phone 110 in advance. Hence, when it is detected that the mobile phone 110 is located within the connection range of the mobile phone 100, the mobile phone 100 may have information of the data access rate AR1 of the mobile phone 110 even if the mobile phone 110 does not register with the mobile phone 100 (i.e. step 230 may be omitted).

In another alternative design, the intermediate apparatus may obtain the data access rate according to data access requests issued by the client device, and/or obtain the data report rate according to a transmission rate of data reported by the server, thereby generating the control information (step 240). For example, the mobile phone 100 may detect a frequency of data access requests issued by the mobile phone 110 to obtain the data access rate AR1, or update the data access rate indicated by the data access information of the mobile phone 110 according to the currently detected data access rate AR1. In another example, the mobile phone 100 may detect a data transmission rate of the smart watch 120 to obtain the data report rate RR1, or update the data report rate indicated by the data report information of the smart watch 120 according to the currently detected data report rate RR1.

In yet another alternative design, as the data access rate and the data report rate may affect a change in data volume of the stored data of the intermediate apparatus over time, the intermediate apparatus may generate the control information according to the change in data volume of the stored data to thereby determine whether the data access rate and the data report rate are consistent with each other. In other words, the step of generating the control information according to the data access rate and the data report rate (step 240) is not limited to being implemented by the step of comparing the data access rate with the data report rate. As long as the generated control information may indicate a relationship between the data access rate and the data report rate, other modifications fall within the scope of the present invention.

In one embodiment, the proposed method for controlling data transmission between a client device and a server may be implemented by a source management circuit. Please refer to FIG. 3 in conjunction with FIG. 2. FIG. 3 illustrates an implementation of the apparatus used for controlling data transmission shown in FIG. 1 (the intermediate apparatus or the mobile phone 100). In this implementation, the mobile phone 100 may include a source management circuit, which may be implemented by a transmission circuit 302 and a controller 304. The source management circuit may be arranged for controlling the data transmission between the mobile phone 110 and the smart watch 120, the data transmission between the mobile phone 110 and the smart band 130 and the data transmission between the mobile phone 110 and the intelligent shoe 140. In this embodiment, the transmission circuit 302 may be used to receive data transmitted by a server (e.g. the smart watch 120/the smart band 130/the intelligent shoe 140), and provide the data received from the server for a client device (e.g. the mobile phone 110). The controller 304 is coupled to the transmission circuit 302, and may be used to manage at least one of a data access operation of the client device and a data reporting operation of the server according to control information, which is generated from data access information of the client device and the data report information of the server. Further description is provided below.

Regarding the data transmission between the mobile phone 110 and the smart watch 120, when the controller 304 detects that the mobile phone 110 and the smart watch 120 exist in a surrounding environment thereof, the controller 304 may register the data access information of the mobile phone 110 and the data report rate of the smart watch 120 (e.g. registering to a registration list of connected devices) (step 220 and step 230). Similarly, the smart band 130 and the intelligent shoe 140 may register respective data report information with the controller 304. In this embodiment, the data access information of the mobile phone 110 may indicate/include the data access rate AR1 used for accessing the smart watch 120, a data access rate AR2 used for accessing the smart band 130 and a data access rate AR3 used for accessing the intelligent shoe 140. Further, the data report information of the smart watch 120 may indicate/include the data report rate RR1 used for reporting data to the mobile phone 110, the data report information of the smart band 130 may indicate/include the data report rate RR2 used for reporting data to the mobile phone 110, and the data report information of the intelligent shoe 140 may indicate/include the data report rate RR3 used for reporting data to the mobile phone 110.

Next, the controller 304 may generate the control information INF1 according to the data access rate AR1 and the data report rate RR1, and the controller 304 coupled to the controller 304 may refer to the control information INF1 to manage at least one of a data access operation of the mobile phone 110 and a data reporting operation of the smart watch 120 (e.g. determining whether to adjust at least one of the data access rate AR1 and the data report rate RR1; step 240 and step 250). Similarly, the controller 304 may generate control information INF2 according to a data access rate AR2 and a data report rate RR2, and the controller 304 may generate control information INF3 according to a data access rate AR3 and a data report rate RR3. The controller 304 may refer to the control information INF2 to manage at least one of a data access operation of the mobile phone 110 and a data reporting operation of the smart band 130 (e.g. determining whether to adjust at least one of the data access rate AR2 and the data report rate RR2), and refer to the control information INF3 to manage at least one of a data access operation of the mobile phone 110 and a data reporting operation of the intelligent shoe 140 (e.g. determine whether to adjust at least one of the data access rate AR3 and the data report rate RR3).

By way of example but not limitation, the data access rate AR1, the data access rate AR2 and the data access rate AR3 may be 1 Hz, 5 Hz and 20 Hz respectively, and the data report rate RR1, the data report rate RR2 and the data report rate RR3 may be 1 Hz, 10 Hz and 5 Hz respectively. Regarding the data transmission between the mobile phone 110 and the smart watch 120, the control information INF1 indicates that the data access rate AR1 is equal to the data report rate RR1. Hence, the controller 304 may determine not to adjust the data access rate AR1 and the data report rate RR1, and the data provided by the smart watch 120 may be transmitted to the mobile phone 110 though the mobile phone 100.

Regarding the data transmission between the mobile phone 110 and the smart band 130, the control information INF2 indicates that the data access rate AR2 is less than the data report rate RR2. This means that part of data provided by the smart band 130 is not received by the mobile phone 110. Hence, the controller 304 may adjust at least one of the data access rate AR2 and the data report rate RR2 to thereby coordinate the data transmission between the mobile phone 110 and the smart band 130. By way of example but not limitation, the controller 304 may decrease the data report rate RR2 (e.g. decreased to 5 Hz) to reduce power losses. Please note that, as a data report rate of a wearable/portable device (e.g. the smart band 130) may be decreased to reduce/eliminate unnecessary power consumption, battery life of the wearable/portable device may be prolonged.

Regarding the data transmission between the mobile phone 110 and the intelligent shoe 140, the control information INF3 indicates that the data access rate AR3 is greater than the data report rate RR3. This means that the mobile phone 110 over samples data provided by the intelligent shoe 140. Hence, the controller 304 may adjust at least one of the data access rate AR3 and the data report rate RR3 to thereby coordinate the data transmission between the mobile phone 110 and the intelligent shoe 140. By way of example but not limitation, the controller 304 may decrease the data access rate AR3 (e.g. decreased to 5 Hz) to reduce power consumption of the mobile phone 110. In an alternative design where the controller 304 determines not to adjust the data access rate AR3 and the data report rate RR3, the controller 304 may control the transmission circuit 302 to store the data received from the intelligent shoe 140, and further control the transmission circuit 302 to provide the stored data for the mobile phone 110 at the data access rate AR3. As a person skilled in the art should understand operations of the data transmission architecture shown in FIG. 3 after reading paragraphs directed to FIG. 1 and FIG. 2, further description is omitted here for brevity.

Although the proposed data transmission control mechanism is described with reference to the data transmission architecture including a client device, an intermediate apparatus and a server in the preceding paragraphs, this is not meant to be a limitation of the present invention. Please refer to FIG. 4, which is a diagram illustrating an exemplary data transmission architecture according to another embodiment of the present invention. The main difference between the data transmission architecture shown in FIG. 4 and the data transmission architecture shown in FIG. 1 is that the proposed data transmission control mechanism may be employed in a client device. In other words, an intermediate apparatus utilizing the proposed data transmission control mechanism may be integrated to a client device. For example, a mobile phone 400 shown in FIG. 4 is used as not only a client device (a consumer such as the mobile phone 110 shown in FIG. 1) but also an intermediate apparatus (a router such as the mobile phone 100 shown in FIG. 1). Hence, the mobile phone 400 may utilize the method shown in FIG. 2 to control/manage data transmission between the mobile phone 400 and the smart watch 120/the smart band 130/the intelligent shoe 140.

Additionally, the source management circuit shown in FIG. 3 may be applied to the architecture where an intermediate apparatus is integrated to a client device. By way of example but not limitation, the mobile phone 400 shown in FIG. 4 may include a transmission circuit 402 and a controller 404, wherein data transmission control mechanism utilized by the transmission circuit 402 and the controller 404 is based on the data transmission control mechanism utilized by the transmission circuit 302 and the controller 304 shown in FIG. 3, wherein the main difference is that the transmission circuit 302 shown in FIG. 3 may transmit the received report data to a client device at a data access rate, while the transmission circuit 402 may access data transmitted by a server at a data access rate. For example, when a data access rate AR4 used for accessing the smart watch 120 is greater than a data report rate RR4 used for reporting data to the mobile phone 400, the transmission circuit 402 may store the data transmitted by the smart watch 120, and access the stored data at the data access rate AR4. It should be noted that, as the mobile phone 400 is an integrated apparatus of a client device and an intermediate apparatus, the controller 404 may have the data access information thereof without registering a client device (the mobile phone 400). As a person skilled in the art should understand operations of the data transmission architecture shown in FIG. 4 after reading paragraphs directed to FIGS. 1-3, further description is omitted here for brevity.

FIG. 5 illustrates an exemplary data transmission architecture according to another embodiment of the present invention. The main difference between the data transmission architecture shown in FIG. 5 and the data transmission architecture shown in FIG. 1 is that the proposed data transmission control mechanism may be employed in a server. In other words, an intermediate apparatus utilizing the proposed data transmission control mechanism may be integrated to a server. For example, a tablet computer 520 shown in FIG. 5 is used as not only a server (a provider such as the smart watch 120/the smart band 130/the intelligent shoe 140 shown in FIG. 1) but also an intermediate apparatus (a router such as the mobile phone 100 shown in FIG. 1). Hence, the tablet computer 520 may utilize the method shown in FIG. 2 to control/manage data transmission between the mobile phone 110 and tablet computer 520.

Additionally, the source management circuit shown in FIG. 3 may be applied to the architecture where an intermediate apparatus is integrated to a server. By way of example but not limitation, the tablet computer 520 shown in FIG. 5 may include a transmission circuit 502 and a controller 504, wherein data transmission control mechanism utilized by the transmission circuit 502 and the controller 504 is based on the data transmission control mechanism utilized by the transmission circuit 302 and the controller 304 shown in FIG. 3, wherein the main difference is that the transmission circuit 302 shown in FIG. 3 may receive the data transmitted by a server at a data report rate, while the transmission circuit 502 may transmit data to a client device at a data report rate. For example, when a data access rate AR5 used for accessing the tablet computer 520 is greater than a data report rate RR5 used for reporting data to the mobile phone 110, the transmission circuit 502 may store the data to be transmitted to the mobile phone 110, and transmit the stored data to the mobile phone 110 at the data report rate AR5. It should be noted that, as the tablet computer 520 is an integrated apparatus of a server and an intermediate apparatus, the controller 504 may have the data report information thereof without registering a server (tablet computer 520). As a person skilled in the art should understand operations of the data transmission architecture shown in FIG. 5 after reading paragraphs directed to FIGS. 1-3, further description is omitted here for brevity.

Please note that, when an apparatus is used as a client device and a server concurrently, the apparatus may utilize the proposed data transmission control mechanism to control/manage data transmission therewithin. In other words, the apparatus is an integrated apparatus of a client device, a server and an intermediate apparatus, and may utilize the data transmission control mechanism of the source management circuits shown in FIGS. 3-5.

In the proposed data transmission architecture, a client device and/or a server may change hardware behaviors thereof with the aid of application programming interfaces (APIs) provided by a platform. Hence, a data access rate of the client device and/or a data report rate of the server may be adjusted, and the client device and/or the server may register configurations thereof (e.g. data access information and/or data report information) with an intermediate apparatus. Further, the proposed method for controlling data transmission between a client device and a server may be implemented by an application or a program. Please refer to FIG. 6, which is a diagram illustrating an exemplary apparatus for controlling data transmission between a client device and a server according to an embodiment of the present invention. The apparatus 600 may include a processor 610 and a non-transitory machine readable medium 620, wherein the non-transitory machine readable medium 620 may store a program code PROG and may be implemented by various types of storage devices such as a volatile memory, a non-volatile memory, a hard disk or a CD-ROM. When the program code PROG is loaded and executed by the processor 610, the program code PROG enables the processor 610 to perform the steps 210-250 shown in FIG. 2 to thereby implement the proposed data transmission control mechanism. In other words, it is possible to utilize the architecture of the apparatus 600 to implement the controller 304 shown in FIG. 3, the controller 404 shown in FIG. 4 and/or the controller 504 shown in FIG. 5. As a person skilled in the art should understand operations of the data transmission architecture shown in FIG. 6 after reading paragraphs directed to FIGS. 1-5, further description is omitted here for brevity.

The proposed data transmission control mechanism may be applied to an architecture including a plurality of client devices and a plurality of servers. Please refer to FIG. 7, which is a diagram illustrating an exemplary data transmission architecture according to another embodiment of the present invention. In this embodiment, the exemplary data transmission architecture may include the mobile phone 110 (a client device or a consumer), the smart watch 120 (a server or a provider), the smart band 130 (a server or a provider) and the intelligent shoe 140 (a server or a provider) shown in FIG. 1. The exemplary data transmission architecture further includes a tablet computer 712 (a client device or a consumer) and a wireless access point (AP) 700 (an intermediate apparatus or a router), wherein the wireless access point 700 may utilize the method shown in FIG. 2 to control data transmission between a client device and a corresponding server, and may employ the architecture of the source management circuit shown in FIG. 3.

In this embodiment, the data access information of the mobile phone 110 may indicate a data access rare AR11 (1 Hz) used for accessing the smart watch 120, a data access rare AR12 (5 Hz) used for accessing the smart band 130, and a data access rare AR13 (20 Hz) used for accessing the intelligent shoe 140. Data access information of the tablet computer 712 may indicate a data access rare AR21 (10 Hz) used for accessing the smart watch 120, a data access rare AR22 (1 Hz) used for accessing the smart band 130, and a data access rare AR23 (20 Hz) used for accessing the intelligent shoe 140. Further, the data report information of the smart watch 120 may indicate a data report rate RR11 (1 Hz) used for reporting data to the mobile phone 110/the tablet computer 712, the data report information of the smart band 130 may indicate a data report rate RR12 (10 Hz) used for reporting data to the mobile phone 110/the tablet computer 712, and the data report information of the intelligent shoe 140 may indicate a data report rate RR13 (5 Hz) used for reporting data to the mobile phone 110/the tablet computer 712.

In order to simplify data transmission control, the wireless access point 700 may adjust respective data access rates of a plurality of client devices to a same data access rate according to respective data access information of the client devices. For example, the wireless access point 700 may refer to respective data access information of the mobile phone 110 and the tablet computer 712 to use a minimum of the data access rate AR11 and the data access rate AR21 as a data access rate for each client device accessing the smart watch 120 (i.e. decreasing the data access rate AR21 to 1 Hz), use a minimum of the data access rate AR12 and the data access rate AR22 as a data access rate for each client device accessing the smart band 130 (i.e. decreasing the data access rate AR12 to 1 Hz), and use a minimum of the data access rate AR13 and the data access rate AR23 as a data access rate for each client device accessing the intelligent shoe 140 (i.e. 20 Hz). Next, the wireless access point 700 may control/manage data transmission between each client device and a corresponding server according to the data access rates and the data report rates RR11-RR13.

The above is for illustrative purposes only, and is not meant to be a limitation of the present invention. In an alternative design, a server (e.g. the smart watch 120) may transmit data to different client devices (e.g. the mobile phone 110 and the tablet computer 712) at different data report rates. In another alternative design, when data report rates used for reporting data to a plurality of client devices are different, the wireless access point 700 may adjust the data report rates to a same data report rate according to data report information of a server. By way of example but not limitation, the wireless access point 700 may refer to the data report information of the smart watch 120 to select a minimum of a data report rate used for reporting data to the mobile phone 110 and a data report rate of the tablet computer 712 as a data report rate for the smart watch 120 reporting data to any client device. In yet another alternative design, the aforementioned data access rate/data report rate is not limited to being a minimum rate.

The proposed data transmission control mechanism may be applied to a plurality of data transmission groups, wherein each data transmission group may include an apparatus for controlling data transmission between a client side and a server (e.g. the intermediate apparatus shown in FIG. 1/FIG. 7, the apparatus 600 shown in FIG. 6, and/or the integrated apparatus shown in FIG. 4/FIG. 5. In other words, the data transmission architecture shown in FIG. 1/FIG. 4/FIG. 5/FIG. 7 may be regarded as a data transmission architecture having a single data transmission group. Please refer to FIG. 8, which is a diagram illustrating an exemplary data transmission architecture according to another embodiment of the present invention. The data transmission architecture shown in FIG. 8 may include a plurality of data transmission groups G1-G3, which may be comprised of a smart home network. In this embodiment, the data transmission group G1 may be comprised of portable apparatuses of a user, and may include a plurality of servers (a smart watch 820 and a smart band 822) and a client device utilizing the proposed data transmission control mechanism (a mobile phone 800). The data transmission group G2 may be located in a bedroom of the user, and may include a plurality of servers (a smart lamp 824 and a carbon dioxide (CO₂) detector 826) and an intermediate apparatus utilizing the proposed data transmission control mechanism (an wireless access point (AP) 802). The data transmission group G3 may be located in a living room of the user, and may include a server (a tablet computer 828) and a client device utilizing the proposed data transmission control mechanism (a treadmill 804).

In this embodiment, a data report rate RR81 for the smart watch 820 may be 1 Hz, a data report rate RR82 for the smart band 822 may be 20 Hz, a data report rate RR83 for the smart lamp 824 may be 1 Hz, a data report rate RR84 for the CO₂ detector 826 may be 5 Hz, and a data report rate RR85 for the tablet computer 828 may be 10 Hz. In addition, a data access rate AR811 for the mobile phone 800 accessing the smart watch 820 may be 1 Hz, a data access rate AR812 for the mobile phone 800 accessing the smart band 822 may be 20 Hz, a data access rate AR813 for the mobile phone 800 accessing the smart lamp 824 may be 30 Hz, a data access rate AR814 for the mobile phone 800 accessing the CO₂ detector 826 may be 20 Hz, a data access rate AR822 for the treadmill 804 accessing the smart band 822 may be 1 Hz, and a data access rate AR825 for the treadmill 804 accessing the tablet computer 828 may be 20 Hz. As a person skilled in the art should understand operations of the data transmission control mechanism of each data transmission group shown in FIG. 8 after reading paragraphs directed to FIGS. 1-7, similar description is not repeated here for brevity.

It should be noted that an apparatus for controlling data transmission between a client side and a server side within each data transmission group (i.e. the mobile phone 800, the wireless access point 802 and the treadmill 804) may communicate with each other based on various connection technologies (e.g. a wired network and/or a wireless network). Specifically, data report information of the smart phone 820 and data report information of the smart band 822 registered in the mobile phone 800 may be provided for the wireless access point 802 and/or the treadmill 804, data report information of the smart lamp 824 and data report information of the CO₂ detector 826 registered in the wireless access point 802 may be provided for the mobile phone 800 and/or the treadmill 804, and/or data report information of the tablet computer 828 registered in the treadmill 804 may be provided for the mobile phone 800 and/or the wireless access point 802. Additionally, data access information of the mobile phone 800 may be provided for the wireless access point 802 and/or the treadmill 804, and/or data access information of the treadmill 804 may be provided for the mobile phone 800 and/or the wireless access point 802. Hence, the mobile phone 800 located in the data transmission G1 may manage data transmission (e.g. coordinate data access rate(s) and data report rate(s)) between server(s) located in the data transmission G2/G3 and the mobile phone 800 (a client side). The treadmill 804 located in the data transmission G3 may manage data transmission between server(s) located in the data transmission G1/G2 and the treadmill 804 (a client side).

In one implementation, the apparatus for controlling data transmission between a client side and a server side (the mobile phone 800/the wireless access point 802/the treadmill 804) may adjust a data report rate for a server according to different settings/requirements, wherein the apparatus and the server may be located in the same data transmission group or different data transmission groups. For example, a user may utilize the mobile phone 800 to monitor/adjust luminance of the smart lamp 824 located in the bedroom, wherein the mobile phone 800 may manage/adjust the data report rate RR83 according to power consumption of the smart lamp 824. In another example, a user may utilize the mobile phone 800 to monitor a detection result of the CO₂ detector 826 (the concentration of CO₂) located in the bedroom, wherein the mobile phone 800 may manage/adjust the data report rate RR84 according to accuracy of the CO₂ detector 826.

In another implementation, the apparatus for controlling data transmission between a client side and a server side (the mobile phone 800/the wireless access point 802/the treadmill 804) may coordinate/negotiate/manage data access requirements required by different consumers. For example, each of the mobile phone 800 and the treadmill 804 may receive data transmitted by the smart band 822, wherein the treadmill 804 requires higher accuracy than the mobile phone 800. As the treadmill 804 receives the data of the smart band 822 via the mobile phone 800, the treadmill 804 may increase accuracy required by the mobile phone 800 to ensure that the data received from the smart band 822 satisfy the accuracy required by the treadmill 804.

In yet another implementation, the apparatus for controlling data transmission between a client side and a server side (the mobile phone 800/the wireless access point 802/the treadmill 804) may selectively receive data transmitted by a server side according to data access requirements required by a client side. For example, the mobile phone 800 requires data accuracy of the smart band 822 to be higher than 80%, and the treadmill 804 requires the data accuracy of the smart band 822 to be higher than 90%. Hence, when the data accuracy of the smart band 822 is 85%, only the mobile phone 800 may receive the data transmitted by the smart band 822. In other words, the mobile phone 800 does not transmit the data of the smart band 822 to the treadmill 804. In another implementation, the mobile phone 800 requires power consumption of the smart band 822 to be less than 1 mW and the treadmill 804 requires the power consumption of the smart band 822 to be higher than 0.8 mW. Hence, when the power consumption of the smart band 822 is 0.5 mW, each of the mobile phone 800 and the treadmill 804 may receive the data transmitted by the smart band 822.

The proposed data transmission control mechanism may be used for communication between various smart networks. Please refer to FIG. 9, which is a diagram illustrating an exemplary data transmission architecture according to another embodiment of the present invention. The data transmission architecture shown in FIG. 9 may include a plurality of data transmission groups G4-G6, wherein the data transmission group G4 may be located in a car, and include a plurality of servers (a mobile phone 920 and a tablet computer 922) and a client device utilizing the proposed data transmission control mechanism (a car navigation apparatus 900); the data transmission group G5 may be located in an office, and include a plurality of servers (a smart lamp 924 and a CO₂ detector 926), a client device (a mobile phone 910) and an intermediate apparatus utilizing the proposed data transmission control mechanism (a wireless access point 902); the data transmission group G6 may be located in a user's house, and include a client device (a tablet computer 912) and a server utilizing the proposed data transmission control mechanism (a smart TV 904).

In this embodiment, the car navigation apparatus 900 may manage data transmission within the data transmission group G4. For example, the car navigation apparatus 900 may enable the mobile phone 920 and the tablet computer 922 to transmit multimedia files synchronously. The wireless access point 902 may manage data transmission between a client side and servers within the data transmission group G5, thereby extending the service life of the smart lamp 924/the CO₂ detector 926. Additionally, the smart TV 904 may manage data transmission within the data transmission group G6, thereby improving quality of multimedia files shared to the tablet computer 912. As a person skilled in the art should understand operations of the data transmission control mechanism shown in FIG. 9 after reading paragraphs directed to FIGS. 1-8, further description is omitted here for brevity.

To sum up, the proposed method and apparatus for controlling data transmission between a client side and a server side can coordinate/manage a data access rate and a data report rate of a data transmission path, thereby simplifying a control scheme, extending a network lifetime, improving transmission efficiency, reducing power losses and providing a good user-experience.

Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims. 

What is claimed is:
 1. A method for controlling data transmission between a client device and a server, comprising: generating control information according to a data access rate of the client device and a data report rate of the server; and referring to the control information to manage at least one of a data access operation of the client device and a data reporting operation of the server.
 2. The method of claim 1, wherein the step of referring to the control information to manage the at least one of the data access operation and the data reporting operation comprises: when the control information indicates that the data access rate is different from the data report rate, adjusting the at least one of the data access rate and the data report rate according to the control information.
 3. The method of claim 1, wherein the step of referring to the control information to manage the at least one of the data access operation and the data reporting operation comprises: adjusting one of the data access rate and the data report rate to the other of the data access rate and the data report rate according to the control information.
 4. The method of claim 1, wherein the step of referring to the control information to manage the at least one of the data access operation and the data reporting operation comprises: adjusting each of the data access rate and the data report rate to a predetermined rate according to the control information.
 5. The method of claim 1, wherein the step of referring to the control information to manage the at least one of the data access operation and the data reporting operation comprises: when the control information indicates that the data access rate is greater than the data report rate, storing data transmitted by the server, and providing the stored data for the client device at the data access rate.
 6. The method of claim 1, wherein the step of generating the control information according to the data access rate of the client device and the data report rate of the server comprises: comparing the data access rate with the data report rate to generate the control information.
 7. The method of claim 1, wherein the step of generating the control information according to the data access rate of the client device and the data report rate of the server comprises: registering the client device to obtain data access information of the client device, and registering the server to obtain data report information of the server; and referring to the data access rate indicated by the data access information and the data report rate indicated by the data report information to generate the control information.
 8. An apparatus for controlling data transmission, comprising: a transmission circuit, arranged for receiving data transmitted by a server, and providing the data received from the server for a client device; and a controller, coupled to the transmission circuit, the controller arranged for generating control information according to a data access rate of the client device and a data report rate of the server, and referring to the control information to manage at least one of a data access operation of the client device and a data reporting operation of the server.
 9. The apparatus of claim 8, wherein when the control information indicates that the data access rate is different from the data report rate, the controller adjusts the at least one of the data access rate and the data report rate according to the control information in order to manage the at least one of the data access operation and the data reporting operation.
 10. The apparatus of claim 8, wherein the controller adjusts one of the data access rate and the data report rate to the other of the data access rate and the data report rate according to the control information in order to manage the at least one of the data access operation and the data reporting operation.
 11. The apparatus of claim 8, wherein the controller adjusts each of the data access rate and the data report rate to a predetermined rate according to the control information in order to manage the at least one of the data access operation and the data reporting operation.
 12. The apparatus of claim 8, wherein when the control information indicates that the data access rate is greater than the data report rate, the controller controls the transmission circuit to store the data received from the server and provide the stored data for the client device at the data access rate in order to manage the at least one of the data access operation and the data reporting operation.
 13. The apparatus of claim 8, wherein the controller compares the data access rate with the data report rate to generate the control information.
 14. The apparatus of claim 8, wherein the controller further registers the client device to obtain data access information of the client device, registers the server to obtain data report information of the server, and refers to the data access rate indicated by the data access information and the data report rate indicated by the data report information to generate the control information.
 15. An apparatus for controlling data transmission, comprising: a transmission circuit, arranged for performing a data access operation to access data transmitted by a server at a data access rate; and a controller, coupled to the transmission circuit, the controller arranged for generating control information according to the data access rate and a data report rate of the server, and referring to the control information to manage at least one of the data access operation and a data reporting operation of the server.
 16. An apparatus for controlling data transmission, comprising: a transmission circuit, arranged for performing a data reporting operation to transmit data to a client device at a data report rate; and a controller, coupled to the transmission circuit, the controller arranged for generating control information according to a data access rate of the client device and the data report rate, and referring to the control information to manage at least one of the data reporting operation and a data access operation of the client device. 